package com.molichuxing.services.infrastructure.bean;

import com.molichuxing.framework.bean.RootBean;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

public class EnterpriseBean extends RootBean {
    /**
     * id
     */
    private Integer id;

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 企业id（乙方） enterprise_id
     */
    private Integer enterpriseId;

    /**
     * 企业名称（乙方） enterprise_name
     */
    private String enterpriseName;

    /**
     * 签约分子公司id（甲方） subcompany_id
     */
    private Integer subcompanyId;

    /**
     * 签约分子公司名称（甲方） subcompany_name
     */
    private String subcompanyName;

    /**
     * 订单状态（1：待付款，2：待交车，3：待起租，4：已交车） state
     */
    private Integer state;

    /**
     * 租期（1：1个月，n：n个月） tenancy
     */
    private Integer tenancy;

    /**
     * 还款周期（1：1个月，n：n个月） repayment_period
     */
    private Integer repaymentPeriod;

    /**
     * 起租日 lease_inception
     */
    private LocalDate leaseInception;

    /**
     * 截止日 lease_expire
     */
    private LocalDate leaseExpire;

    /**
     * 总租金 rental
     */
    private BigDecimal rental;

    /**
     * 总保证金 deposit
     */
    private BigDecimal deposit;

    /**
     * 是否有续订单(0：没有，1：有) is_have_suborder
     */
    private Boolean isHaveSuborder;

    /**
     * 父订单号 prent_order_code
     */
    private Long prentOrderCode;

    /**
     * 父订单保证金 prent_order_deposit
     */
    private BigDecimal prentOrderDeposit;

    /**
     * 备注 remark
     */
    private String remark;

    /**
     * 创建时间 gmt_create
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间 gmt_modified
     */
    private LocalDateTime gmtModified;

    /**
     * orders_enterprise
     */
    private static final long serialVersionUID = 1L;

    /**
     * @return id
     * @date 2020-06-18 15:48:02
     */
    @Override
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     * @date 2020-06-18 15:48:02
     */
    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 订单号
     *
     * @return order_code 订单号
     * @date 2020-06-18 15:48:02
     */
    public Long getOrderCode() {
        return orderCode;
    }

    /**
     * 订单号
     *
     * @param orderCode 订单号
     * @date 2020-06-18 15:48:02
     */
    public void setOrderCode(Long orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 企业id（乙方）
     *
     * @return enterprise_id 企业id（乙方）
     * @date 2020-06-18 15:48:02
     */
    public Integer getEnterpriseId() {
        return enterpriseId;
    }

    /**
     * 企业id（乙方）
     *
     * @param enterpriseId 企业id（乙方）
     * @date 2020-06-18 15:48:02
     */
    public void setEnterpriseId(Integer enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    /**
     * 企业名称（乙方）
     *
     * @return enterprise_name 企业名称（乙方）
     * @date 2020-06-18 15:48:02
     */
    public String getEnterpriseName() {
        return enterpriseName;
    }

    /**
     * 企业名称（乙方）
     *
     * @param enterpriseName 企业名称（乙方）
     * @date 2020-06-18 15:48:02
     */
    public void setEnterpriseName(String enterpriseName) {
        this.enterpriseName = enterpriseName == null ? null : enterpriseName.trim();
    }

    /**
     * 签约分子公司id（甲方）
     *
     * @return subcompany_id 签约分子公司id（甲方）
     * @date 2020-06-18 15:48:02
     */
    public Integer getSubcompanyId() {
        return subcompanyId;
    }

    /**
     * 签约分子公司id（甲方）
     *
     * @param subcompanyId 签约分子公司id（甲方）
     * @date 2020-06-18 15:48:02
     */
    public void setSubcompanyId(Integer subcompanyId) {
        this.subcompanyId = subcompanyId;
    }

    /**
     * 签约分子公司名称（甲方）
     *
     * @return subcompany_name 签约分子公司名称（甲方）
     * @date 2020-06-18 15:48:02
     */
    public String getSubcompanyName() {
        return subcompanyName;
    }

    /**
     * 签约分子公司名称（甲方）
     *
     * @param subcompanyName 签约分子公司名称（甲方）
     * @date 2020-06-18 15:48:02
     */
    public void setSubcompanyName(String subcompanyName) {
        this.subcompanyName = subcompanyName == null ? null : subcompanyName.trim();
    }

    /**
     * 订单状态（1：待付款，2：待交车，3：待起租，4：已交车）
     *
     * @return state 订单状态（1：待付款，2：待交车，3：待起租，4：已交车）
     * @date 2020-06-18 15:48:02
     */
    public Integer getState() {
        return state;
    }

    /**
     * 订单状态（1：待付款，2：待交车，3：待起租，4：已交车）
     *
     * @param state 订单状态（1：待付款，2：待交车，3：待起租，4：已交车）
     * @date 2020-06-18 15:48:02
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 租期（1：1个月，n：n个月）
     *
     * @return tenancy 租期（1：1个月，n：n个月）
     * @date 2020-06-18 15:48:02
     */
    public Integer getTenancy() {
        return tenancy;
    }

    /**
     * 租期（1：1个月，n：n个月）
     *
     * @param tenancy 租期（1：1个月，n：n个月）
     * @date 2020-06-18 15:48:02
     */
    public void setTenancy(Integer tenancy) {
        this.tenancy = tenancy;
    }

    /**
     * 还款周期（1：1个月，n：n个月）
     *
     * @return repayment_period 还款周期（1：1个月，n：n个月）
     * @date 2020-06-18 15:48:02
     */
    public Integer getRepaymentPeriod() {
        return repaymentPeriod;
    }

    /**
     * 还款周期（1：1个月，n：n个月）
     *
     * @param repaymentPeriod 还款周期（1：1个月，n：n个月）
     * @date 2020-06-18 15:48:02
     */
    public void setRepaymentPeriod(Integer repaymentPeriod) {
        this.repaymentPeriod = repaymentPeriod;
    }

    /**
     * 起租日
     *
     * @return lease_inception 起租日
     * @date 2020-06-18 15:48:02
     */
    public LocalDate getLeaseInception() {
        return leaseInception;
    }

    /**
     * 起租日
     *
     * @param leaseInception 起租日
     * @date 2020-06-18 15:48:02
     */
    public void setLeaseInception(LocalDate leaseInception) {
        this.leaseInception = leaseInception;
    }

    /**
     * 截止日
     *
     * @return lease_expire 截止日
     * @date 2020-06-18 15:48:02
     */
    public LocalDate getLeaseExpire() {
        return leaseExpire;
    }

    /**
     * 截止日
     *
     * @param leaseExpire 截止日
     * @date 2020-06-18 15:48:02
     */
    public void setLeaseExpire(LocalDate leaseExpire) {
        this.leaseExpire = leaseExpire;
    }

    /**
     * 总租金
     *
     * @return rental 总租金
     * @date 2020-06-18 15:48:02
     */
    public BigDecimal getRental() {
        return rental;
    }

    /**
     * 总租金
     *
     * @param rental 总租金
     * @date 2020-06-18 15:48:02
     */
    public void setRental(BigDecimal rental) {
        this.rental = rental;
    }

    /**
     * 总保证金
     *
     * @return deposit 总保证金
     * @date 2020-06-18 15:48:02
     */
    public BigDecimal getDeposit() {
        return deposit;
    }

    /**
     * 总保证金
     *
     * @param deposit 总保证金
     * @date 2020-06-18 15:48:02
     */
    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    /**
     * 是否有续订单(0：没有，1：有)
     *
     * @return is_have_suborder 是否有续订单(0：没有，1：有)
     * @date 2020-06-18 15:48:02
     */
    public Boolean getIsHaveSuborder() {
        return isHaveSuborder;
    }

    /**
     * 是否有续订单(0：没有，1：有)
     *
     * @param isHaveSuborder 是否有续订单(0：没有，1：有)
     * @date 2020-06-18 15:48:02
     */
    public void setIsHaveSuborder(Boolean isHaveSuborder) {
        this.isHaveSuborder = isHaveSuborder;
    }

    /**
     * 父订单号
     *
     * @return prent_order_code 父订单号
     * @date 2020-06-18 15:48:02
     */
    public Long getPrentOrderCode() {
        return prentOrderCode;
    }

    /**
     * 父订单号
     *
     * @param prentOrderCode 父订单号
     * @date 2020-06-18 15:48:02
     */
    public void setPrentOrderCode(Long prentOrderCode) {
        this.prentOrderCode = prentOrderCode;
    }

    /**
     * 父订单保证金
     *
     * @return prent_order_deposit 父订单保证金
     * @date 2020-06-18 15:48:02
     */
    public BigDecimal getPrentOrderDeposit() {
        return prentOrderDeposit;
    }

    /**
     * 父订单保证金
     *
     * @param prentOrderDeposit 父订单保证金
     * @date 2020-06-18 15:48:02
     */
    public void setPrentOrderDeposit(BigDecimal prentOrderDeposit) {
        this.prentOrderDeposit = prentOrderDeposit;
    }

    /**
     * 备注
     *
     * @return remark 备注
     * @date 2020-06-18 15:48:02
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 备注
     *
     * @param remark 备注
     * @date 2020-06-18 15:48:02
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * 创建时间
     *
     * @return gmt_create 创建时间
     * @date 2020-06-18 15:48:02
     */
    @Override
    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    /**
     * 创建时间
     *
     * @param gmtCreate 创建时间
     * @date 2020-06-18 15:48:02
     */
    @Override
    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    /**
     * 修改时间
     *
     * @return gmt_modified 修改时间
     * @date 2020-06-18 15:48:02
     */
    @Override
    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    /**
     * 修改时间
     *
     * @param gmtModified 修改时间
     * @date 2020-06-18 15:48:02
     */
    @Override
    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    /**
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        EnterpriseBean other = (EnterpriseBean) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
                && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
                && (this.getEnterpriseId() == null ? other.getEnterpriseId() == null : this.getEnterpriseId().equals(other.getEnterpriseId()))
                && (this.getEnterpriseName() == null ? other.getEnterpriseName() == null : this.getEnterpriseName().equals(other.getEnterpriseName()))
                && (this.getSubcompanyId() == null ? other.getSubcompanyId() == null : this.getSubcompanyId().equals(other.getSubcompanyId()))
                && (this.getSubcompanyName() == null ? other.getSubcompanyName() == null : this.getSubcompanyName().equals(other.getSubcompanyName()))
                && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
                && (this.getTenancy() == null ? other.getTenancy() == null : this.getTenancy().equals(other.getTenancy()))
                && (this.getRepaymentPeriod() == null ? other.getRepaymentPeriod() == null : this.getRepaymentPeriod().equals(other.getRepaymentPeriod()))
                && (this.getLeaseInception() == null ? other.getLeaseInception() == null : this.getLeaseInception().equals(other.getLeaseInception()))
                && (this.getLeaseExpire() == null ? other.getLeaseExpire() == null : this.getLeaseExpire().equals(other.getLeaseExpire()))
                && (this.getRental() == null ? other.getRental() == null : this.getRental().equals(other.getRental()))
                && (this.getDeposit() == null ? other.getDeposit() == null : this.getDeposit().equals(other.getDeposit()))
                && (this.getIsHaveSuborder() == null ? other.getIsHaveSuborder() == null : this.getIsHaveSuborder().equals(other.getIsHaveSuborder()))
                && (this.getPrentOrderCode() == null ? other.getPrentOrderCode() == null : this.getPrentOrderCode().equals(other.getPrentOrderCode()))
                && (this.getPrentOrderDeposit() == null ? other.getPrentOrderDeposit() == null : this.getPrentOrderDeposit().equals(other.getPrentOrderDeposit()))
                && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
                && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
                && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()));
    }

    /**
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getEnterpriseId() == null) ? 0 : getEnterpriseId().hashCode());
        result = prime * result + ((getEnterpriseName() == null) ? 0 : getEnterpriseName().hashCode());
        result = prime * result + ((getSubcompanyId() == null) ? 0 : getSubcompanyId().hashCode());
        result = prime * result + ((getSubcompanyName() == null) ? 0 : getSubcompanyName().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getTenancy() == null) ? 0 : getTenancy().hashCode());
        result = prime * result + ((getRepaymentPeriod() == null) ? 0 : getRepaymentPeriod().hashCode());
        result = prime * result + ((getLeaseInception() == null) ? 0 : getLeaseInception().hashCode());
        result = prime * result + ((getLeaseExpire() == null) ? 0 : getLeaseExpire().hashCode());
        result = prime * result + ((getRental() == null) ? 0 : getRental().hashCode());
        result = prime * result + ((getDeposit() == null) ? 0 : getDeposit().hashCode());
        result = prime * result + ((getIsHaveSuborder() == null) ? 0 : getIsHaveSuborder().hashCode());
        result = prime * result + ((getPrentOrderCode() == null) ? 0 : getPrentOrderCode().hashCode());
        result = prime * result + ((getPrentOrderDeposit() == null) ? 0 : getPrentOrderDeposit().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        return result;
    }

    /**
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", enterpriseId=").append(enterpriseId);
        sb.append(", enterpriseName=").append(enterpriseName);
        sb.append(", subcompanyId=").append(subcompanyId);
        sb.append(", subcompanyName=").append(subcompanyName);
        sb.append(", state=").append(state);
        sb.append(", tenancy=").append(tenancy);
        sb.append(", repaymentPeriod=").append(repaymentPeriod);
        sb.append(", leaseInception=").append(leaseInception);
        sb.append(", leaseExpire=").append(leaseExpire);
        sb.append(", rental=").append(rental);
        sb.append(", deposit=").append(deposit);
        sb.append(", isHaveSuborder=").append(isHaveSuborder);
        sb.append(", prentOrderCode=").append(prentOrderCode);
        sb.append(", prentOrderDeposit=").append(prentOrderDeposit);
        sb.append(", remark=").append(remark);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}